<template>
  <!-- 传统方式实现 -->
  <!-- <div class="app-header-sticky" :class="{ show: isShow }">
    <div class="container" v-show="isShow">
      <RouterLink to="/" class="logo"></RouterLink>
      <appHeaderNav></appHeaderNav>
      <div class="right">
        <RouterLink to="/">品牌</RouterLink>
        <RouterLink to="/">专题</RouterLink>
      </div>
    </div>
  </div> -->
  <!-- 组合api实现 @vueuse/core包 -->
  <div class="app-header-sticky" :class="{ show: y >= 78 }">
    <div class="container" v-show="y >= 78">
      <RouterLink class="logo" to="/" />
      <appHeaderNav />
      <div class="right">
        <RouterLink to="/">品牌</RouterLink>
        <RouterLink to="/">专题</RouterLink>
      </div>
    </div>
  </div>
</template>

<script>
// import { ref } from 'vue'
import { useWindowScroll } from '@vueuse/core'
import appHeaderNav from './app-header-nav.vue'
export default {
  name: 'AppHeaderSticky',
  components: { appHeaderNav },
  // 传统方式
  setup() {
    // const isShow = ref(false)
    // // 浏览器滚动事件
    // window.onscroll = () => {
    //   // 获取文档滚动出去了多少
    //   const scrollTop = document.documentElement.scrollTop
    //   // 页面滚动到78px以上，显示吸顶组件，否则隐藏
    //   if (scrollTop >= 78) {
    //     isShow.value = true
    //   } else {
    //     isShow.value = false
    //   }
    // }

    // api
    const { y } = useWindowScroll()
    return { y }
  }

  // 组合api
  // setup () {
  //     // 解构出的 y 是响应式数据
  //     const { y } = useWindowScroll()
  //     // 直接返回给模板使用
  //     return { y }
  //   }
}
</script>
<style scoped lang="less">
.app-header-sticky {
  width: 100%;
  height: 80px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  background-color: #fff;
  border-bottom: 1px solid #e4e4e4;
  transform: translateY(-100%);
  opacity: 0;
  &.show {
    transition: all 0.3s linear;
    transform: translateY(0);
    opacity: 1;
  }
  .container {
    display: flex;
    align-items: center;
    .logo {
      width: 200px;
      height: 80px;
      background: url(~@/assets/images/gaoding.png) no-repeat right;
      background-size: 240px auto;
    }
    .right {
      width: 200px;
      display: flex;
      text-align: center;
      padding-left: 40px;
      border-left: 2px solid @color;
      a {
        width: 38px;
        margin-right: 40px;
        font-size: 16px;
        line-height: 1;
        &:hover {
          color: @color;
        }
      }
    }
  }
}
</style>
